package org.example.springbook.controller;

import org.example.springbook.constant.Constants;
import org.example.springbook.model.UserInfo;
import org.example.springbook.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpSession;

@RequestMapping("/user")
@RestController
public class UserController {
    @Autowired
    private UserService userService;
    // 登录
    @RequestMapping("/login")
    public boolean login(String username, String password, HttpSession session) {
        // 校验参数是否为空
        if(!StringUtils.hasLength(username) || !StringUtils.hasLength(password)) {
            return false;
        }
//        // 校验用户名密码
//        if("admin".equals(username) && "123456".equals(password)) {
//            // 存 session
//            session.setAttribute("username", username);
//            return true;
//        }
        // 从数据库中 取出用户和密码 和用户输入的用户名密码进行校验
        UserInfo userInfo = userService.queryByName(username);
        // 查不到 返回错误
        if(userInfo == null) {
            return false;
        }
        // 检验密码
        if(password.equals(userInfo.getPassword())) {
            // 防止密码泄露
            userInfo.setPassword("");
            session.setAttribute(Constants.USER_SESSION_KEY, userInfo);
            return true;
        }
        return false;
    }
}
